commonlibsse_ng\re\p\PlayerCamera/
camera_state.rs1#[commonlibsse_ng_derive_internal::ffi_enum]
5#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
6#[repr(u32)]
7pub enum CameraStateSE {
8 FirstPerson = 0,
9 AutoVanity,
10 VATS,
11 Free,
12 IronSights,
13 Furniture,
14 PCTransition,
15 Tween,
16 Animated,
17 ThirdPerson,
18 Mount,
19 Bleedout,
20 Dragon,
21}
22
23impl CameraStateSE {
24 #[inline]
26 pub const fn to_state(self) -> CameraState {
27 CameraState(self as u32)
28 }
29}
30impl From<CameraStateSE> for CameraState {
31 #[inline]
32 fn from(value: CameraStateSE) -> Self {
33 Self(value as u32)
34 }
35}
36
37#[commonlibsse_ng_derive_internal::ffi_enum]
41#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
42#[repr(u32)]
43pub enum CameraStateVR {
44 FirstPerson = 0,
45 AutoVanity,
46 VATS,
47 Free,
48 IronSights,
49 Furniture,
50 PCTransition,
51 Tween,
52 Animated,
53 VR = 9,
54 VRThirdPerson,
55 VRMount,
56 VRBleedout,
57 VRDragon,
58}
59
60impl CameraStateVR {
61 #[inline]
63 pub const fn to_state(self) -> CameraState {
64 CameraState(self as u32)
65 }
66}
67
68impl From<CameraStateVR> for CameraState {
69 #[inline]
70 fn from(value: CameraStateVR) -> Self {
71 Self(value as u32)
72 }
73}
74
75#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
76#[repr(transparent)]
77pub struct CameraState(pub u32);
78const _: () = assert!(core::mem::size_of::<CameraState>() == 0x4);
79
80impl CameraState {
81 #[inline]
83 pub const fn as_se(&self) -> Option<CameraStateSE> {
84 CameraStateSE_CEnum(self.0).to_enum()
85 }
86
87 #[inline]
89 pub const fn as_vr(&self) -> Option<CameraStateVR> {
90 CameraStateVR_CEnum(self.0).to_enum()
91 }
92}